package com.platform.dao.mybatis.impl;

import com.platform.dao.RoleDao;
import com.platform.dao.mybatis.mapper.RoleMapper;
import com.platform.domain.model.Role;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;


/**
* Role
*
* User: wangyang
* DateTime: 2012-10-08 16:11:49
*
*/
@Service("roleDao")
public class RoleDaoImpl implements RoleDao {

    @Resource
    private RoleMapper roleMapper;

    /**
     * 根据用户ID查询符合条件的角色集合
     *
     * @param userId 用户ID
     * @return 角色集合
     * @throws Exception
     */
    @Override
    public List<Role> selectByUserId(String userId) throws Exception {
        return roleMapper.selectByUserId(userId);
    }

    /**
     * 根据用户ID查询除用户授权角色以外的角色集合
     *
     * @param userId 用户ID
     * @return 角色集合
     * @throws Exception
     */
    @Override
    public List<Role> selectByNotUserId(String userId) throws Exception {
        return roleMapper.selectByNotUserId(userId);
    }

    /**
    *
    * 根据主键查询Role对象
    *
    * @param roleId
    * @return Role对象
    */
    @Override
    public Role selectByPrimaryKey(String roleId) throws Exception {
        return roleMapper.selectByPrimaryKey(roleId);
    }

    /**
    *
    * 根据查询条件查询符合条件的Role对象
    *
    * @param role
    * @return 符合条件的Role对象List
    */
    @Override
    public List<Role> select(Role role) throws Exception {
        return roleMapper.select(role);
    }

    /**
    *
    * 根据主键删除Role对象
    *
    * @param roleId
    * @return 影响条件数
    */
    @Override
    public int deleteByPrimaryKey(String roleId) throws Exception {
        return roleMapper.deleteByPrimaryKey(roleId);
    }

    /**
    *
    * 根据条件删除符合条件的Role对象
    *
    * @param role
    * @return 影响条件数
    */
    @Override
    public int delete(Role role) throws Exception {
        return roleMapper.delete(role);
    }

    /**
    *
    * 插入Role对象
    *
    * @param role
    * @return 影响条件数
    */
    @Override
    public int insert(Role role) throws Exception {
        return roleMapper.insert(role);
    }

    /**
    *
    * 更新Role对象
    *
    * @param role
    * @return 影响条件数
    */
    @Override
    public int update(Role role) throws Exception {
        return roleMapper.update(role);
    }
}
